/**
 * 
 */
package com.tvshows.front.ui.refresh;

import com.tvshows.front.ui.FrontUI;

/**
 * @author tMidy
 * <p>
 * Refresh loader composite interface
 * </p>
 */
public interface RefreshUI
    extends FrontUI
{

    /**
     * Updates the progress of the refresh
     * @param update the % of progress
     */
    void updateProgress( int update );

    /**
     * Activates or deactivates progress bar
     * @param activate true if is to activate
     */
    void activateProgressBar( boolean activate );

    /**
     * Updates the label text
     * 
     * @param progress the progress to write
     */
    void updateProgressLabel( double progress );

    /**
     * @return true if max value is set on progress bar
     */
    boolean isSelection();

    /**
     * Sets the max value of the progress bar
     * 
     * @param progress the value to set
     */
    void setSelection( int progress );

}
